"""
date: 2018.8.11
function: 对ip地址测试主机是否在线。
"""
import os
import time


def _ping(ip):
    while 1:
        s = 'ping ' + ip + ' -w 3 | grep loss'
        print(time.strftime('%H:%M:%S', time.localtime(time.time())))
        os.system(s)
        # time.sleep(1)


def ping(ip='', ips=''):
    """
    function: 提供单个ping和多个ping。
    :param ip: 单个ip地址。
    :param ips: 从文件读取多个IP地址。
    """
    if ip:
        _ping(ip)
    elif ips:
        f = open(ips)
        for ff in f:
            ff = ff.rstrip('\n')  # 从文本读取IP时需要去掉每行末尾的换行符"\n"。
            _ping(ff)


def pings(ip):
    """
    function: 调用系统工具nmap对网段IP进行测试。
    :param ip: 指定某个网段的ip.
    :return:
    """
    for i in range(0, 3):
        # ip = 'nmap -sP 192.168.' + str(i) + '.0/24 > ' + str(i)
        ip = 'nmap -sP ' + ip
        print(ip)
        os.system(ip)


def test():
    ip = '172.20.100.67'
    ping(ip)


test()
